home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
biz
/
ccard11
/
main.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-28
|
2KB
|
117 lines
/*
* ccard - credit card number validation
* 1994 Peter Miller
* Public Domain
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* MANIFEST: program entry point
*/
#include <stdio.h>
#include <ac/stdlib.h>
#include <ac/string.h>
#include <ccard.h>
#include <patchlevel.h>
static char *progname;
static int suffix _((char *, char *));
static int
suffix(s1 , s2)
char *s1;
char *s2;
{
int len1 = strlen(s1);
int len2 = strlen(s2);
return (len2 < len1 && !memcmp(s1 + len1 - len2, s2, len2));
}
static void print_version _((char *));
static void
print_version(s)
char *s;
{
char *ep;
for (;;)
{
ep = strrchr(s, '/');
if (!ep)
break;
if (ep > s && !ep[1])
{
*ep = 0;
continue;
}
s = ep + 1;
break;
}
progname = s;
fprintf(stderr, "%s version %s\n", progname, PATCHLEVEL);
}
int
main(argc, argv)
int argc;
char **argv;
{
int j;
print_version(argv[0]);
for (j = 1; j < argc; ++j)
{
ccard_type_ty type;
ccard_error_ty err;
char *s;
err = ccard_valid(argv[j], &type);
if (err)
{
if (type != ccard_type_unknown)
{
fprintf
(
stderr,
"%s: %s: %s (%s)\n",
progname,
argv[j],
ccard_error_name(err),
ccard_type_name(type)
);
}
else
{
fprintf
(
stderr,
"%s: %s: %s\n",
progname,
argv[j],
ccard_error_name(err)
);
}
exit(1);
}
printf("\"%s\" is a", argv[j]);
s = ccard_type_name(type);
if (strchr("AEIOUaeiou", s[0]))
printf("n");
printf(" %s", s);
if (!suffix(s, "card"))
printf(" card");
printf("\n");
}
exit(0);
return 0;
}